home *** CD-ROM | disk | FTP | other *** search
- Path: abcfd20.larc.nasa.gov!amiga-request
- From: amiga-request@abcfd20.larc.nasa.gov (Amiga Sources/Binaries Moderator)
- Subject: v90i279: Kill2090 - reboot, toggle ntsc/pal mode and disable autoconf boards, Part01/01
- Reply-To: "John Davis,chem dept, UoC NZ" <CHEM194@canterbury.ac.nz>
- Newsgroups: comp.sources.amiga
- Message-ID: <comp.sources.amiga:v90i279@abcfd20.larc.nasa.gov>
- Date: 14 Oct 90 18:24:14 GMT
- Approved: tadguy@uunet.UU.NET (Tad Guy)
- X-Mail-Submissions-To: amiga@uunet.uu.net
- X-Post-Discussions-To: comp.sys.amiga
-
- Submitted-by: "John Davis,chem dept, UoC NZ" <CHEM194@canterbury.ac.nz>
- Posting-number: Volume 90, Issue 279
- Archive-name: util/kill2090/part01
-
- [ uuencoded executable and icons enclosed ...tad ]
-
- a suite of programs, that will reboot you amiga, and optionally toggle
- the machine to NTSC/PAL ( if you have the ECS Agnus fitted ) and also
- optionally disable ALL autoconfig boards ( hopefully lessens the chance
- of a virus/trojan horse stomping your auto-mounting HD ).
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 1)."
- # Contents: kill2090.doc kill2090.s kill2090.s.uu kill2090.uu
- # kill20900.uu kill20901.uu kill20902.uu kill20903.uu reset.ntsc.uu
- # reset.ntsc0.uu reset.pal.uu reset.pal0.uu resetcode.txt
- # resetcode.uu
- # Wrapped by tadguy@abcfd20 on Sun Oct 14 14:24:12 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'kill2090.doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill2090.doc'\"
- else
- echo shar: Extracting \"'kill2090.doc'\" \(6127 characters\)
- sed "s/^X//" >'kill2090.doc' <<'END_OF_FILE'
- XKill2090 v1.0 By John Davis, 26/08/1990
- X
- XWhat it does
- X------------
- X
- XKILL2090/RESET are a set of programs to reset the amiga thru software
- X(first asking the user for confirmation), plus it will try to _DISABLE_
- XALL the autoconfig devices in your machine. Since this will include the
- Xhard-disk controller, this allows you to safely run software off floppies
- Xwithout worrying about viruses etc getting at your autoboot/automount
- Xhard-disk.
- X
- XIf you have the 1mb Agnus, it will also toggle your machine to PAL or NTSC
- Xscreen mode, depending on which version you use (useful for games if
- Xyou've got a PAL machine and useful for gaining screen area if you've got
- Xa NTSC machine). If you ONLY wish to reboot to a different video mode,
- Xthen the RESET version will do that alone (without disabling your
- Xhard-disk etc).
- X
- XSince the actual screen toggle code is run from the cold capture during
- Xreboot, this means it will work even with games which have a custom
- Xbootblock (and hence can't have Nico Francois' PAL/NTSC bootblock used on
- Xthem).
- X
- XIn spite of the name, it will actually work with ALL autoconfig boards -
- Xthat includes the 2090a controller, the A590 hard-disk and ram system, the
- X2058/2052 ram boards and hopefully most 3rd party autoconfig devices.
- X
- XWhen you reboot you should notice a pause, then the led will blink on/off
- X5 times and the screen will go pink. This lets you know Kill2090's at
- Xwork.
- X
- XIf you've run KILL2090, when it's finished, you should get the amiga
- Xasking for a workbench disk - your auto-boot hard-disk and all expansion
- Xmemory is now disabled. If you've run RESET your machine should just
- Xreboot to the chosen video mode.
- X
- X
- XTechnical info
- X--------------
- X
- XThere is only one source file for all four versions of the program, you
- Xjust vary a pair of conditional flags to build all four - so if you do
- Xmuck around with the source, remember to rebuild ALL versions.
- X
- XThe actual reset routine used , is based on the example in the 1.3 rkm,
- Xwith additional mods described by CATS on usenet for 020/030 based
- Xsystems.
- X
- XThe code for disabling the auto-config boards is based on info gleaned
- Xfrom the 1.3 Hardware RKM auto-config docs. Basically what it does is zip
- Xthru all the boards it can find, and if they support SHUT-UP then it uses
- Xthat to make them disappear, if they don't then it tells them to config
- Xout of the way at $200000.
- X
- XHence by the time exec comes up and looks for any autoconfig boards,
- Xthey're all gone (yes, it's a HACK - but it works :-).
- X
- XThis version is hardcoded to config the any boards boards that can't
- Xsupport shut_up to $200000. Earlier versions sent boards to $d00000, but
- Xif you had a 2mb (or greater) memory board, this resulted in the board
- Xmemory overlaying the custom chips (at $dff000) and causing a system
- Xcrash. Moving boards to $200000 means that even full 8mb boards are coped
- Xwith correctly, in fact that's the _only_ 8mb gap in the system memory
- Xmap.
- X
- XThe disable code is hooked to execbase's ColdCapture vector, this gets run
- XVERY early in the reboot sequence (making it ideal for this application -
- Xit's run before even EXEC is up !!) plus the vector's auto-cleared after
- Xuse (so the patch doesn't hang around - again, exactly what I wanted)
- X
- X
- X
- XPossible problems
- X-----------------
- X
- XAs I said, portions of this code are somewhat illegal in how they treat
- Xthe system, I've tested the code on as wide a range of machines as I can,
- Xbut there is no way I can guarantee it will work on all systems.
- XBasically, for any setup, you're going to have to suck it and see...
- X
- Xspecific areas that could be a problem ...
- X
- X1) the autoconfig fakeout is 'illegal' ... seems to work on all the systems
- X I've tried though ( 2000 r4.3 with 1mb and 2090a, 2000 r4.3 with 2090
- X and 3mb ram, 2500/30 w 2090a, 2500/30 w 2090, A500 w A590 and 3mb,
- X 2000 r4.3 w Ronin Hurricane 020 )
- X
- X2) it seems that some 2000s don't correctly remap the ROM on execution
- X of the RESET instruction, or just ignore the RESET pulse ( hardware
- X design fault ). Not much I can do about that....
- X
- X3) as anyone who's followed the saga of 'the correct code to reset the
- X amiga in software, part mcmlxxiv' on Usenet will know, CBM themselves
- X can't come up with code that will reliably reset ALL setups. This is
- X the latest version of the reset code that doesn't resort to jumping
- X to ROM ( here's CATS telling us off for rom-jumping, now they're doing
- X it themselves :-).
- X
- X The reset code should work on most machines ... EXCEPT on the 2500
- X you will get the reset, followed by the led-blinking the 2630 does
- X on startup (when you can select processors), followed by my code
- X running (screen goes pink) and then you'll get a guru. Don't worry,
- X just cancel the Alert and it'll still work fine .... since this
- X happens ONLY on the 2630 (code works fine on a Ronin Hurricane board),
- X I can only put this down to some weird interaction with the 2630
- X boot rom ... if anyone has code that PROPERLY resets the 2630 I'd
- X love to see it.
- X
- X
- X
- XBug Reports
- X-----------
- X
- XIf you find either of the programs don't seem to work on your setup, let
- Xme know, so as I can work out what I need to do to make this work on as
- Xwide a range of machines as possible - any and all feedback welcomed!
- X
- X
- Xyou can contact me at the following electronic addresses :-
- X
- Xbbs: "John Davis" on AmigaINFO BBS, NZ +3-3371-531 (24hrs, 2400/1200 baud)
- XInternet/UseNet: chem194@canterbury.ac.nz
- X
- Xor snail mail to
- X
- X John Davis
- X Departmental Programmer
- X Chemistry Department
- X University of Canterbury
- X Private Bag
- X Christchurch
- X New Zealand
- X
- X
- XFinally, a big thanks to all the people who helped with the Beta testing
- Xof this program by allowing me access to their hardware -
- X
- X Terrence Blyth, Andrew King, Joe Begej, Dave Hassall, Stephen Webber,
- X Pete Moore, Geoff McCaughan, Peter.B McIntyre, John Nettleton,
- X John Bickers, Danny Neville
- X
- Xand to all the people on AmigaINFO BBS for their support and
- Xencouragement.
- X
- END_OF_FILE
- if test 6127 -ne `wc -c <'kill2090.doc'`; then
- echo shar: \"'kill2090.doc'\" unpacked with wrong size!
- fi
- # end of 'kill2090.doc'
- fi
- if test -f 'kill2090.s' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill2090.s'\"
- else
- echo shar: Extracting \"'kill2090.s'\" \(7920 characters\)
- sed "s/^X//" >'kill2090.s' <<'END_OF_FILE'
- X; kill 2090 - by J Davis 08/1990
- X; ---------
- X;
- X; version 1.0
- X;
- X; THIS MUST BE ASSEMBLED TO FORCELOAD TO CHIPMEM!!!
- X;
- X; very simple program to reboot 2000 with all autoconfig boards off
- X;
- X; this allows you to boot off floppies without worrying about
- X; rogue programs attacking your hard-disk
- X;
- X; the drive is only killed until the next reboot - so ctrl-amiga-amiga
- X; will re-anable it
- X;
- X; how it does it -
- X; this is basically a modified version of the 'official'
- X; reboot code in the rkm:hardware, with the addition of
- X; a coldcapture routine that 'fakes out' all the expansion
- X; boards, stopping exec from seeing/using them
- X;
- X;
- X; YES THIS IS A HACK!! It manipulates the system in a manner contrary
- X; to the rkm quidelines - so don't blame me if it doesn't work!! :-)
- X;
- X;
- X; changes for version .05(beta)
- X;
- X; sends 5 flashes when cold capt code starts
- X; back to brute force approach to finding all boards
- X;
- X; changes for version .06(beta)
- X;
- X; now sends all boards that don't support shut_up to $200000
- X; ( instead of $d00000 as before ). This gets around problems
- X; with memory boards overlaying the custom chips and killing the
- X; whole system
- X;
- X; changes for version 1.0
- X;
- X; added code to switch super agnus to PAL/NTSC
- X;
- X; by altering the conditional compilation switches Go_NTSC and
- X; Kill_boards, you can set whether to switch to PAL or NTSC at
- X; boot-time, and also whether to just reset, or kill exp boards
- X; as well, giving four possible versions of this program
- X
- X
- X;===========================================================
- X; vary these flags to build all 4 possible versions
- X
- Xkill_boards equ 0 ; set to 0 to just build reset program
- X
- Xgo_ntsc equ 0 ; set to 1 will toggle superAgnus to NTSC
- X ; set to 0 will toggle to PAL
- X
- X;=============================================
- X
- Xforbid equ -$084 ; offsets for various exec and int calls
- Xgetmsg equ -$174 ; saves long includes and compile times
- Xreplymsg equ -$17a
- Xwaitport equ -$180
- Xfindtask equ -$126
- Xautoreq equ -$15c
- Xopenlib equ -$228
- Xcloselib equ -$19e
- Xsupervisor equ -$01e
- X
- Xattnflags equ $128 ; offset for execbase.attnflags word
- Xafb_68020 equ 1<<1 ; bit mask for 020 flag
- X
- Xpr_cli equ $0Ac ; process cli flag offset
- Xpr_msgport equ $05c ; process msgport offset
- X
- X; hisoft devpac and Argasm don't support the 010+ movec command!
- X; so we jam them in as consts instead
- Xmovec_cacr_d0 equ %0000000000000010
- Xmovec_d0_cacr equ %1000000000000010
- X
- X;=========================================
- X
- X section main,code_c ; make sure we're in CHIP
- X
- Xstartup: move.l $4,a6
- X move.l #0,a1
- X jsr findtask(a6) ; find ourselves
- X
- X move.l d0,a4 ; save our process pointer
- X
- X move.l pr_cli(a4),d0
- X bne fromdos ; was a DOS startup
- X
- X ; was started from WB
- X
- X lea pr_msgport(a4),a0
- X jsr waitport(a6) ; wait for startup msg
- X lea pr_msgport(a4),a0
- X jsr getmsg(a6) ; get the wb msg
- X
- X move.l d0,wbmsg ; save pointer to our startup msg
- X move.l #1,wb ; flag we started from wb
- X
- Xfromdos: lea intuiname,a1
- X move.l #0,d0
- X move.l $4,a6
- X jsr openlib(a6) ; open intuition lib
- X
- X move.l d0,a6 ; save ibase
- X
- X move.l #0,a0 ; window to display in
- X move.l #bodyitext,a1 ; body text
- X move.l #yesitext,a2 ; postive text
- X move.l #noitext,a3 ; negative text
- X move.l #0,d0 ; pflags
- X move.l #0,d1 ; nflags
- X move.l #460,d2 ; width
- X move.l #60,d3 ; height
- X jsr autoreq(a6) ; request user confirmation
- X
- X cmp.l #0,d0
- X bne reboot ; user selected ok, kill!
- X
- X ; user cancelled reboot
- X
- X move.l a6,a1 ; close intuition lib
- X move.l $4,a6
- X jsr closelib(A6)
- X
- Xexit: move.l wb,d0
- X cmp.l #0,d0 ; was this a CLI invocation
- X beq exit_dos
- X
- X ; workbench exit
- X
- X move.l $4,a6
- X jsr forbid(a6) ; lock out everyone else
- X
- X move.l wbmsg,a1
- X jsr replymsg(a6) ; reply to Wbstartup msg
- X
- Xexit_dos: move.l #0,d0 ; return with return code 0
- X rts
- X
- X
- X
- X;=====================================
- X; the following does the actual reboot
- X
- Xreboot: jsr instcold ; install coldcapture handler
- X ; exec will run coldcapt once and then
- X ; kill it - exactly what we want!
- X
- X move.l $4,a6 ; RESET must be run in Smode, so go to it
- X move.l #reboot_c,a5 ; code to run in supervisor mode
- X jsr supervisor(A6) ; go into supervisor mode
- X
- X cnop 0,4 ; longword align code
- X
- Xreboot_c: move.l $4,a6
- X btst.b #afb_68020,attnflags+1(a6)
- X beq kill ; is system 020/030 powered ?
- X
- X ; if it is an 020 or 030, take extra steps for cache
- X
- X dc.w movec_cacr_d0 ; twiddle the cache control reg
- X bset.l #3,d0
- X dc.w movec_d0_cacr
- X
- X bra kill
- X
- X cnop 0,4 ; long word align code
- X
- Xkill: move.l #$2,a1 ; where to jump to in rom
- X reset
- X jmp (a1) ; now run reset code in rom
- X
- X
- X
- X;=======================================
- X; routine to install coldcapture handler
- X
- Xinstcold: move.l $4,a6 ; get execbase
- X lea cold,a0 ; get address of our coldcapt routine
- X move.l a0,$2a(a6) ; set coldcapture vect
- X
- X lea 34(a6),a0 ; start of checksummed area in execbase
- X move.w #$16,d0 ; number of checksummed words
- X move.w #$0,d1 ; clear counter
- X
- Xsum: add.w (A0)+,d1 ; sum execbase and update checksum
- X dbf d0,sum
- X
- X not.w d1
- X move.w d1,82(a6) ; save fixed checksum
- X
- X rts
- X
- X
- X;===========================================================================
- X; our actual cold capture handler, flashes led,zaps boards,toggles agnus etc
- X
- Xcold: move.w #$0f8a,$dff180 ; set screen colour to pink
- X
- X IFNE go_ntsc ; go_ntsc=1 switch to ntsc
- X move.w #$00,$dff1dc ; set NTSC mode on agnus
- X ELSEIF
- X move.w #$20,$dff1dc ; set PAL mode on agnus
- X ENDC
- X
- X
- X move.l #9,d0 ; flash power led 5 times
- X ; to let know we're running
- X
- Xlloop: bchg #1,$bfe001 ; toggle led
- X move.l #$ffff,d1
- Xlwait: dbf d1,lwait ; delay
- X dbf d0,lloop
- X
- X
- X IFNE kill_boards ; kill_boards=1, so add kill code
- X
- X move.l #$7,d1 ; max no boards we fix = 8
- X
- Xbchk: move.w $e80008,d0 ; get flag byte from board
- X not.w d0 ; invert
- X btst.l #14,d0 ; see if board supports shut_up
- X beq shut_up ; bit=0 means board shuts up ok
- X
- X ; board doesn't support shut up, so
- X ; config board to $200000 (only gap big enough for 8mb
- X ; boards)
- X
- X move.w #$0000,$e8004a ; fake board out to $200000
- X move.w #$2000,$e80048
- X
- X bra nboard ; carry on
- X
- Xshut_up: move.b #$ff,$e8004c ; tell the board to shut up
- X
- Xnboard: dbf d1,bchk ; loop thru all boards
- X ENDC
- X
- Xbexit: jmp (a5) ; chain thru to rest of reset routine
- X
- X;=============================================================
- X
- Xwb: dc.l 0 ; run mode flag 0=dos process 1=wbprocess
- Xwbmsg: dc.l 0 ; where we save our workbench msg
- X
- Xintuiname: dc.b "intuition.library",0
- X
- X; stuff for our autorequester
- X
- Xbodyitext: dc.b 0 ; front pen
- X dc.b 1 ; back pen
- X dc.b 0 ; draw mode
- X dc.w 70 ; leftedge
- X dc.w 6 ; topedge
- X dc.l 0 ; textattr = default
- X dc.l bodytext1 ; actual text
- X dc.l bodyitext2 ; next
- X
- Xbodyitext2: dc.b 0 ; front pen
- X dc.b 1 ; back pen
- X dc.b 0 ; draw mode
- X dc.w 35 ; leftedge
- X dc.w 15 ; topedge
- X dc.l 0 ; textattr = default
- X dc.l bodytext2 ; actual text
- X dc.l 0 ; next
- X
- X
- Xyesitext: dc.b 2 ; front pen
- X dc.b 1 ; back pen
- X dc.b 0 ; draw mode
- X dc.w 4 ; leftedge
- X dc.w 4 ; topedge
- X dc.l 0 ; textattr = default
- X dc.l yestext ; actual text
- X dc.l 0 ; next
- X
- Xnoitext: dc.b 2 ; front pen
- X dc.b 1 ; back pen
- X dc.b 0 ; draw mode
- X dc.w 4 ; leftedge
- X dc.w 4 ; topedge
- X dc.l 0 ; textattr = default
- X dc.l notext ; actual text
- X dc.l 0 ; next
- X
- X ; actual text for our requester
- X
- X IFNE kill_boards
- Xbodytext1: dc.b "Kill2090"
- X ELSEIF
- Xbodytext1: dc.b " Reset"
- X ENDC
- X
- X dc.b " by J Davis, 08-1990 v1.0 "
- X
- X IFNE go_ntsc
- X dc.b "NTSC"
- X ELSEIF
- X dc.b "PAL "
- X ENDC
- X dc.b 0
- X
- Xbodytext2: dc.b "About to kill system, finish ALL disk activity",0
- X
- Xyestext: dc.b "Go ahead, make my day!",0
- Xnotext: dc.b "No, I was just kidding!",0
- X
- X END
- END_OF_FILE
- if test 7920 -ne `wc -c <'kill2090.s'`; then
- echo shar: \"'kill2090.s'\" unpacked with wrong size!
- fi
- # end of 'kill2090.s'
- fi
- if test -f 'kill2090.s.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill2090.s.uu'\"
- else
- echo shar: Extracting \"'kill2090.s.uu'\" \(538 characters\)
- sed "s/^X//" >'kill2090.s.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.s.info
- XMXQ```0``````)P!.`"``'``%``,``0#`?7``````````````````````````;
- XM````!,,`P%+@`,![J(````"````````````````````````````@`!P``@`!;
- XM9<`#````````````!___^`?___@&$)(8!S.3.`<PQS@',Y,X!S"3.`?___@$E
- XM```(!___^`?_?[@'_O-X!_S-.`?Z,M@'_W^X!][S>`<DS3@/FC+8#WO]^`[WY
- XMF_@9)FGX'-&6^#____A____X#___^````````````````````````````>]MZ
- XMY@#,;,8`SSC&`,QLQ@#/;,8````&`___]@````8``(!&``$,A@`#,L8`!<TF_
- XM``"`1@`A#(8`VS+&`&7-+@"$`@X!"&0.!MF6'@,N:1X````^````_@____X#0
- XG___^``````````9C.F-E9``````(````#D9)3$5465!%/51E>'0`E
- X``
- Xend
- Xsize 354
- END_OF_FILE
- if test 538 -ne `wc -c <'kill2090.s.uu'`; then
- echo shar: \"'kill2090.s.uu'\" unpacked with wrong size!
- fi
- # end of 'kill2090.s.uu'
- fi
- if test -f 'kill2090.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill2090.uu'\"
- else
- echo shar: Extracting \"'kill2090.uu'\" \(540 characters\)
- sed "s/^X//" >'kill2090.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.doc.info
- XMXQ```0``````)P!.`"``'``%``,``0#`?7``````````````````````````;
- XM````!,,`P%+@`,![J(````"````````````````````````````@`!P``@`!;
- XM9<`#````````````!___^`?___@&$)(8!S.3.`<PQS@',Y,X!S"3.`?___@$E
- XM```(!___^`?_?[@'_O-X!_S-.`?Z,M@'_W^X!][S>`<DS3@/FC+8#WO]^`[WY
- XMF_@9)FGX'-&6^#____A____X#___^````````````````````````````>]MZ
- XMY@#,;,8`SSC&`,QLQ@#/;,8````&`___]@````8``(!&``$,A@`#,L8`!<TF_
- XM``"`1@`A#(8`VS+&`&7-+@"$`@X!"&0.!MF6'@,N:1X````^````_@____X#0
- XG___^``````````9C.F-E9``````(````#D9)3$5465!%/51E>'0`E
- X``
- Xend
- Xsize 354
- END_OF_FILE
- if test 540 -ne `wc -c <'kill2090.uu'`; then
- echo shar: \"'kill2090.uu'\" unpacked with wrong size!
- fi
- # end of 'kill2090.uu'
- fi
- if test -f 'kill20900.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill20900.uu'\"
- else
- echo shar: Extracting \"'kill20900.uu'\" \(1107 characters\)
- sed "s/^X//" >'kill20900.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.ntsc
- XM```#\P`````````!``````````!```"A0``#Z0```*$L>0````0B?`````!.Z
- XMKO[:*$`@+`"L9@``(D'L`%Q.KOZ`0>P`7$ZN_HPCP````9@C_`````$```&4Q
- XM0_D```&<(#P`````+'D````$3J[]V"Q`('P`````(GP```&N)'P```'6)GP`=
- XM``'J(#P`````(CP`````)#P```',)CP````\3J[^I+"\`````&8``#HB3BQYO
- XM````!$ZN_F(@.0```92PO`````!G```6+'D````$3J[_?")Y```!F$ZN_H8@K
- XM/`````!.=4ZY```!!BQY````!"I\````X$ZN_^(``"QY````!`@N``(!*6<`+
- XM``X``@C```.``F````(B?`````).<$[1+'D````$0?D```$P+4@`*D'N`"(PP
- XM/``6,CP``-)84<C__$9!/4$`4DYU,_P/B@#?\8`S_````-_QW"`\````"0AYQ
- XM``$`O^`!(CP``/__4<G__E'(_^PB/`````<P.0#H``A&0`@```YG```6,_P`>
- XM``#H`$HS_"```.@`2&````H3_`#_`.@`3%')_]).U0``````````:6YT=6ET(
- XM:6]N+FQI8G)A<GD```$```!&``8````````!_@```<(``0```",`#P``````K
- XM``(E``````(!````!``$`````````E0``````@$````$``0````````":P```
- XM``!+:6QL,C`Y,"!B>2!*($1A=FES+"`P."TQ.3DP('8Q+C`@3E130P!!8F]U+
- XM="!T;R!K:6QL('-Y<W1E;2P@9FEN:7-H($%,3"!D:7-K(&%C=&EV:71Y`$=O<
- XM(&%H96%D+"!M86ME(&UY(&1A>2$`3F\L($D@=V%S(&IU<W0@:VED9&EN9R$``
- XM`````^P````0`````````"P````V````/````%H```!@````9@```)X```"X3
- XH````R@```-8```$.```!N@```;X```'.```!X@```?8````````#\IX`E
- X``
- Xend
- Xsize 760
- END_OF_FILE
- if test 1107 -ne `wc -c <'kill20900.uu'`; then
- echo shar: \"'kill20900.uu'\" unpacked with wrong size!
- fi
- # end of 'kill20900.uu'
- fi
- if test -f 'kill20901.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill20901.uu'\"
- else
- echo shar: Extracting \"'kill20901.uu'\" \(1660 characters\)
- sed "s/^X//" >'kill20901.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.ntsc.info
- XMXQ```0`````!L@!!`"T`+``&``,``0#"DE@`PI-(`````/____\`````````0
- XM`````\,``````````````:(````V``````````````^@```````M`"L``@`!I
- XM<(`#```````````````````````````````````````'#QX\```-F;-F```(J
- XMD*%"````D*%".``!D+-"9``!$)Y"#``"$()"-``$$(1"1``,69AF9``/SS`\^
- XM.@````````````````````````````````#______^"``````""``````""`5
- XM`````"".`````""``````"".[N[N[B"``````"#______^#______^``````J
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM``````````````````````````!______\!______\!______\!______\!_K
- XM_____\!Q$1$1$<!______\``````````````````````````````````````L
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````"T`*P`"``'%0`,`C
- XM``````````````````````````````!^'/@````3"$P````1"$0````1"$0`S
- XM```3"$P````>"'@````2"$`````1"$`````1B$````!XW.``````````````%
- XM````````_@``````@@``````@@``````@@``````@@``````@@`````_@_@`"
- XM```@``@````@``@````@``@````@``@````_@_@`````@@``````@@``````>
- XM@@``````@@``````@@``````@@``````@@``````@@``````@@``````@@``0
- XM````@@``````@@``````@@``````_@``````````````````````````````$
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM?```````?```````?```````?```````?```````?``````?__`````?__``$
- XM```?__`````?__``````?```````?```````?```````?```````?```````(
- XM?```````?```````?```````?```````?```````?```````?```````?```@
- X9````?```````````````````````````````\
- X``
- Xend
- Xsize 1150
- END_OF_FILE
- if test 1660 -ne `wc -c <'kill20901.uu'`; then
- echo shar: \"'kill20901.uu'\" unpacked with wrong size!
- fi
- # end of 'kill20901.uu'
- fi
- if test -f 'kill20902.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill20902.uu'\"
- else
- echo shar: Extracting \"'kill20902.uu'\" \(1106 characters\)
- sed "s/^X//" >'kill20902.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.pal
- XM```#\P`````````!``````````!```"A0``#Z0```*$L>0````0B?`````!.Z
- XMKO[:*$`@+`"L9@``(D'L`%Q.KOZ`0>P`7$ZN_HPCP````9@C_`````$```&4Q
- XM0_D```&<(#P`````+'D````$3J[]V"Q`('P`````(GP```&N)'P```'6)GP`=
- XM``'J(#P`````(CP`````)#P```',)CP````\3J[^I+"\`````&8``#HB3BQYO
- XM````!$ZN_F(@.0```92PO`````!G```6+'D````$3J[_?")Y```!F$ZN_H8@K
- XM/`````!.=4ZY```!!BQY````!"I\````X$ZN_^(``"QY````!`@N``(!*6<`+
- XM``X``@C```.``F````(B?`````).<$[1+'D````$0?D```$P+4@`*D'N`"(PP
- XM/``6,CP``-)84<C__$9!/4$`4DYU,_P/B@#?\8`S_``@`-_QW"`\````"0AY1
- XM``$`O^`!(CP``/__4<G__E'(_^PB/`````<P.0#H``A&0`@```YG```6,_P`>
- XM``#H`$HS_"```.@`2&````H3_`#_`.@`3%')_]).U0``````````:6YT=6ET(
- XM:6]N+FQI8G)A<GD```$```!&``8````````!_@```<(``0```",`#P``````K
- XM``(E``````(!````!``$`````````E0``````@$````$``0````````":P```
- XM``!+:6QL,C`Y,"!B>2!*($1A=FES+"`P."TQ.3DP('8Q+C`@4$%,(`!!8F]U0
- XM="!T;R!K:6QL('-Y<W1E;2P@9FEN:7-H($%,3"!D:7-K(&%C=&EV:71Y`$=O<
- XM(&%H96%D+"!M86ME(&UY(&1A>2$`3F\L($D@=V%S(&IU<W0@:VED9&EN9R$``
- XM`````^P````0`````````"P````V````/````%H```!@````9@```)X```"X3
- XH````R@```-8```$.```!N@```;X```'.```!X@```?8````````#\IX`E
- X``
- Xend
- Xsize 760
- END_OF_FILE
- if test 1106 -ne `wc -c <'kill20902.uu'`; then
- echo shar: \"'kill20902.uu'\" unpacked with wrong size!
- fi
- # end of 'kill20902.uu'
- fi
- if test -f 'kill20903.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'kill20903.uu'\"
- else
- echo shar: Extracting \"'kill20903.uu'\" \(1659 characters\)
- sed "s/^X//" >'kill20903.uu' <<'END_OF_FILE'
- Xbegin 666 kill2090.pal.info
- XMXQ```0`````!LP`,`"T`+``&``,``0##:&@`PVGH`````/____\`````````Z
- XM`````\,``````````````:,````!``````````````^@```````M`"L``@`"V
- XM)-`#```````````````````````````````````````'#QX\```-F;-F```(N
- XMD*%"````D*%".``!D+-"9``!$)Y"#``"$()"-``$$(1"1``,69AF9``/SS`\^
- XM.@````````````````````````````````#______^"``````""``````""`5
- XM`````"".`````""``````"".[N[N[B"``````"#______^#______^``````J
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM``````````````````````````!______\!______\!______\!______\!_K
- XM_____\!Q$1$1$<!______\``````````````````````````````````````L
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````"T`*P`"``(FV`,`=
- XM``````````````````````````````!^'/@````3"$P````1"$0````1"$0`S
- XM```3"$P````>"'@````2"$`````1"$`````1B$````!XW.``````````````%
- XM````````_@``````@@``````@@``````@@``````@@``````@@`````_@_@`"
- XM```@``@````@``@````@``@````@``@````_@_@`````@@``````@@``````>
- XM@@``````@@``````@@``````@@``````@@``````@@``````@@``````@@``0
- XM````@@``````@@``````@@``````_@``````````````````````````````$
- XM`````````````````````````````````````````````````````````````
- XM`````````````````````````````````````````````````````````````
- XM?```````?```````?```````?```````?```````?``````?__`````?__``$
- XM```?__`````?__``````?```````?```````?```````?```````?```````(
- XM?```````?```````?```````?```````?```````?```````?```````?```@
- X9````?```````````````````````````````\
- X``
- Xend
- Xsize 1150
- END_OF_FILE
- if test 1659 -ne `wc -c <'kill20903.uu'`; then
- echo shar: \"'kill20903.uu'\" unpacked with wrong size!
- fi
- # end of 'kill20903.uu'
- fi
- if test -f 'reset.ntsc.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reset.ntsc.uu'\"
- else
- echo shar: Extracting \"'reset.ntsc.uu'\" \(1025 characters\)
- sed "s/^X//" >'reset.ntsc.uu' <<'END_OF_FILE'
- Xbegin 666 reset.ntsc
- XM```#\P`````````!``````````!```"30``#Z0```),L>0````0B?`````!.>
- XMKO[:*$`@+`"L9@``(D'L`%Q.KOZ`0>P`7$ZN_HPCP````6(C_`````$```%>%
- XM0_D```%F(#P`````+'D````$3J[]V"Q`('P`````(GP```%X)'P```&@)GP`[
- XM``&T(#P`````(CP`````)#P```',)CP````\3J[^I+"\`````&8``#HB3BQYY
- XM````!$ZN_F(@.0```5ZPO`````!G```6+'D````$3J[_?")Y```!8DZN_H8@_
- XM/`````!.=4ZY```!!BQY````!"I\````X$ZN_^(``"QY````!`@N``(!*6<`+
- XM``X``@C```.``F````(B?`````).<$[1+'D````$0?D```$P+4@`*D'N`"(PP
- XM/``6,CP``-)84<C__$9!/4$`4DYU,_P/B@#?\8`S_````-_QW"`\````"0AYQ
- XM``$`O^`!(CP``/__4<G__E'(_^Q.U0``````````:6YT=6ET:6]N+FQI8G)A6
- XM<GD```$```!&``8````````!R````8P``0```",`#P````````'M``````(!R
- XM````!``$`````````AP``````@$````$``0````````",P`````@4F5S970@I
- XM8GD@2B!$879I<RP@,#@M,3DY,"!V,2XP($Y44T,`06)O=70@=&\@:VEL;"!SJ
- XM>7-T96TL(&9I;FES:"!!3$P@9&ES:R!A8W1I=FET>0!';R!A:&5A9"P@;6%K>
- XM92!M>2!D87DA`$YO+"!)('=A<R!J=7-T(&MI9&1I;F<A``````/L````$```G
- XM```````L````-@```#P```!:````8````&8```">````N````,H```#6```!U
- X=#@```80```&(```!F````:P```'``````````_*>V
- X``
- Xend
- Xsize 704
- END_OF_FILE
- if test 1025 -ne `wc -c <'reset.ntsc.uu'`; then
- echo shar: \"'reset.ntsc.uu'\" unpacked with wrong size!
- fi
- # end of 'reset.ntsc.uu'
- fi
- if test -f 'reset.ntsc0.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reset.ntsc0.uu'\"
- else
- echo shar: Extracting \"'reset.ntsc0.uu'\" \(534 characters\)
- sed "s/^X//" >'reset.ntsc0.uu' <<'END_OF_FILE'
- Xbegin 666 reset.ntsc.info
- XMXQ```0`````!N0"8`",`$0`%``,``0##7Y``````````````````````````U
- XM`````\,`PS4@`````````:D```"-``'D(`````````^@````+@%R`)?__P``_
- XM```"0`)_``%=!```````P!*`````````````6@`H_____P`!____Z0``````<
- XM`````",`$``"``'EX`,```````!__\````!_X<````!_X<````!_X<````!_;
- XM_\````````````````````/ZJ/````/U1'@```/JHC@```/5<1@```.J__@`4
- XM``-5__@```*K__@```/___@``````````/____^``/_____``/_____@`/__^
- XM___@`/_____@`/_____@`/_____@`/P']0_@`/P.ZH?@`/P=U4?@`/P[BJ?@1
- XD`/QW``?@`/SN``?@`,W<``?@`/P```?@``````````````$`?
- X``
- Xend
- Xsize 351
- END_OF_FILE
- if test 534 -ne `wc -c <'reset.ntsc0.uu'`; then
- echo shar: \"'reset.ntsc0.uu'\" unpacked with wrong size!
- fi
- # end of 'reset.ntsc0.uu'
- fi
- if test -f 'reset.pal.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reset.pal.uu'\"
- else
- echo shar: Extracting \"'reset.pal.uu'\" \(1024 characters\)
- sed "s/^X//" >'reset.pal.uu' <<'END_OF_FILE'
- Xbegin 666 reset.pal
- XM```#\P`````````!``````````!```"30``#Z0```),L>0````0B?`````!.>
- XMKO[:*$`@+`"L9@``(D'L`%Q.KOZ`0>P`7$ZN_HPCP````6(C_`````$```%>%
- XM0_D```%F(#P`````+'D````$3J[]V"Q`('P`````(GP```%X)'P```&@)GP`[
- XM``&T(#P`````(CP`````)#P```',)CP````\3J[^I+"\`````&8``#HB3BQYY
- XM````!$ZN_F(@.0```5ZPO`````!G```6+'D````$3J[_?")Y```!8DZN_H8@_
- XM/`````!.=4ZY```!!BQY````!"I\````X$ZN_^(``"QY````!`@N``(!*6<`+
- XM``X``@C```.``F````(B?`````).<$[1+'D````$0?D```$P+4@`*D'N`"(PP
- XM/``6,CP``-)84<C__$9!/4$`4DYU,_P/B@#?\8`S_``@`-_QW"`\````"0AY1
- XM``$`O^`!(CP``/__4<G__E'(_^Q.U0``````````:6YT=6ET:6]N+FQI8G)A6
- XM<GD```$```!&``8````````!R````8P``0```",`#P````````'M``````(!R
- XM````!``$`````````AP``````@$````$``0````````",P`````@4F5S970@I
- XM8GD@2B!$879I<RP@,#@M,3DY,"!V,2XP(%!!3"``06)O=70@=&\@:VEL;"!SO
- XM>7-T96TL(&9I;FES:"!!3$P@9&ES:R!A8W1I=FET>0!';R!A:&5A9"P@;6%K>
- XM92!M>2!D87DA`$YO+"!)('=A<R!J=7-T(&MI9&1I;F<A``````/L````$```G
- XM```````L````-@```#P```!:````8````&8```">````N````,H```#6```!U
- X=#@```80```&(```!F````:P```'``````````_*>V
- X``
- Xend
- Xsize 704
- END_OF_FILE
- if test 1024 -ne `wc -c <'reset.pal.uu'`; then
- echo shar: \"'reset.pal.uu'\" unpacked with wrong size!
- fi
- # end of 'reset.pal.uu'
- fi
- if test -f 'reset.pal0.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'reset.pal0.uu'\"
- else
- echo shar: Extracting \"'reset.pal0.uu'\" \(533 characters\)
- sed "s/^X//" >'reset.pal0.uu' <<'END_OF_FILE'
- Xbegin 666 reset.pal.info
- XMXQ```0`````!MP!X`",`$0`%``,``0##.;``````````````````````````-
- XM`````\,`PS1X`````````:<```!M``'A0`````````^@````+@%R`)?__P``1
- XM```"0`)_``%=!```````P!*`````````````6@`H_____P`!____Z0``````<
- XM`````",`$``"``'C``,```````!__\````!_X<````!_X<````!_X<````!_Y
- XM_\````````````````````/ZJ/````/U1'@```/JHC@```/5<1@```.J__@`4
- XM``-5__@```*K__@```/___@``````````/____^``/_____``/_____@`/__^
- XM___@`/_____@`/_____@`/_____@`/P']0_@`/P.ZH?@`/P=U4?@`/P[BJ?@1
- XD`/QW``?@`/SN``?@`,W<``?@`/P```?@``````````````$`?
- X``
- Xend
- Xsize 351
- END_OF_FILE
- if test 533 -ne `wc -c <'reset.pal0.uu'`; then
- echo shar: \"'reset.pal0.uu'\" unpacked with wrong size!
- fi
- # end of 'reset.pal0.uu'
- fi
- if test -f 'resetcode.txt' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'resetcode.txt'\"
- else
- echo shar: Extracting \"'resetcode.txt'\" \(7059 characters\)
- sed "s/^X//" >'resetcode.txt' <<'END_OF_FILE'
- XGroup: comp.sys.amiga.tech, Item 2342 (Current Item Range #2253 - #2365)
- XSubject: ColdReboot() - The Never Ending Story?
- XFrom: rbabel@babylon.UUCP (Ralph Babel)
- X
- XDate: 15 Aug 90 04:55:43 GMT
- X
- XBrief history:
- X
- XThe original "ColdReboot()" (new Amiga Hardware Reference
- XManual, page 219) didn't work on some (IMHO) broken A2000s
- X(Kickstart ROM doesn't reappear at location 0 after RESET).
- X
- XThe current version (AmigaMail March/April 1990) jumps
- Xdirectly into Kickstart and therefore doesn't co-operate
- Xwith boot-ROMs (not to be confused with Autoboot driver
- XROMs) that show up at location 0 after a software RESET
- X(e.g. it leaves the A1000's WCS write-enabled and does not
- Xwork with GVP's '030 boot-ROMs - dunno about A2620/A2630).
- XPresumably this bug also prevents the current versions of
- X"MMUKick" and "SetCPU ROMBOOT" from working with boot-ROMs.
- X
- XSo what about the following solution?
- X
- X------------------------ cut here ------------------------
- X
- X* This is Beer-Ware. If you find this program useful, you
- X* are morally obliged to buy me a drink at the next Amiga
- X* show or devcon. :-)
- X
- X csect "text",0,1,0,4
- X
- X include "exec/types.i"
- X include "exec/execbase.i"
- X
- XAbsExecBase equ 4
- X_LVOSupervisor equ -30
- X_LVOColdReboot equ -726
- XLIBRARY_VERSION_2_0 equ 36
- X
- X_ColdReboot
- X movea.l AbsExecBase.w,a6
- X cmp.w #LIBRARY_VERSION_2_0,LIB_VERSION(a6)
- X blt.b 1$
- X jmp _LVOColdReboot(a6)
- X
- X1$ lea 2$(pc),a5
- X jsr _LVOSupervisor(a6)
- X
- X*
- X* in case our boot-ROM doesn't show up at location 0 ...
- X*
- X* romsize equ $00ffffec
- X* romend equ $01000000
- X*
- X* $000002: bra.b $000008
- X* $000004: AbsExecBase
- X* $000008: lea romend+4,a0
- X* $00000e: suba.l romsize-(romend+4)(a0),a0
- X* $000012: movea.l (a0),a0
- X* $000014: subq.l #2,a0
- X* $000016: jmp (a0)
- X*
- X
- X2$ lea (2).w,a0
- X movea.l a0,a1
- X move.w #$6004,(a1)+
- X addq.l #4,a1
- X move.l #$41f90100,(a1)+
- X move.l #$000491e8,(a1)+
- X move.l #$ffe82050,(a1)+
- X move.l #$55884ed0,(a1)
- X
- X btst.b #AFB_68020,AttnFlags+1(a6)
- X beq.b 3$
- X
- X movec.l cacr,d0
- X bset.l #3,d0
- X movec.l d0,cacr
- X
- X3$ cnop 0,4
- X reset
- X jmp (a0)
- X
- X end
- X
- X------------------------ cut here ------------------------
- X
- XRestrictions: Does not support '040 under pre-2.0; assumes
- Xall boot-ROMs have a JMP-$absolute at location 2; and the
- Xusual MMU restriction (turn off MMU before rebooting). Maybe
- XDave has a good idea on how to turn off the MMU without
- Xpulling the rug from under your own feet (SetCPU ROMBOOT)?
- X
- XComments appreciated,
- X
- XRalph Babel
- X
- X....!cbmvax!cbmehq!babylon!rbabel
- X
- X
- X
- X
- XGroup: comp.sys.amiga.tech, Item 2349 (Current Item Range #2253 - #2365)
- XSubject: Re: ColdReboot() - The Never Ending Story?
- XFrom: daveh@cbmvax.commodore.com (Dave Haynie), Commodore, West Chester, PA
- X
- XDate: 16 Aug 90 16:32:13 GMT
- X
- XIn article <03021.AA03021@babylon.UUCP> rbabel@babylon.UUCP (Ralph Babel) writes
- X
- X:
- X>Brief history:
- X
- X>The current version (AmigaMail March/April 1990) jumps
- X>directly into Kickstart and therefore doesn't co-operate
- X>with boot-ROMs (not to be confused with Autoboot driver
- X>ROMs) that show up at location 0 after a software RESET
- X>(e.g. it leaves the A1000's WCS write-enabled and does not
- X>work with GVP's '030 boot-ROMs - dunno about A2620/A2630).
- X>Presumably this bug also prevents the current versions of
- X>"MMUKick" and "SetCPU ROMBOOT" from working with boot-ROMs.
- X
- XI'm not sure what the GVP boot ROMs actually do, but with the A2620 and
- XA2630, these ROMs are gone forever by the time you're into AmigaOS the
- Xfirst time after a full system reset (eg, powerup, keyboard, or any other
- Xcondition that yanks both RST* and HLT*). Basically, after a full system
- Xreset, the A26x0 ROMs are mapped at 0 and a magic A26x0 control register
- Xis mapped into the $00e8xxxx space normally used for AUTOCONFIG units.
- XThis magic control register is similar to, but not identical to, a normal
- XAUTOCONFIG unit, and Exec would certainly choke on it. The control
- Xregister is actually at $00e80040, and it can be written to repeatedly
- Xuntil the configuration bit in the register is set. At that point, this
- Xmagic control register goes away, normally until the next full-system
- Xreset. It is replaced at $00e8xxxx by the configuration unit for the
- XA26x0 on-board memory, which is a true AUTOCONFIG unit understood by
- Xexpansion.library and all. Any CPU-generated RESET will bring you back to
- Xthis state, but not back to the initial state where the magic register is
- Xaccessible or A26x0 ROMs are visible.
- X
- X>Maybe Dave has a good idea on how to turn off the MMU without
- X>pulling the rug from under your own feet (SetCPU ROMBOOT)?
- X
- XIf the MMU is on, make sure you're done running any OS code before you turn
- Xit off. That's about all you can do. For SetCPU ROMBOOT, I do just this.
- XIf you're running under 2.0, SetCPU setfunctions its own reset routine, which
- Xwill [a] not live in emulated ROM at the time of reset, and [b] turn off the
- XMMU just prior to resetting.
- X
- X>Ralph Babel
- X
- X--
- XDave Haynie Commodore-Amiga (Amiga 3000) "The Crew That Never Rests"
- X {uunet|pyramid|rutgers}!cbmvax!daveh PLINK: hazy BIX: hazy
- X Get that coffee outta my face, put a Margarita in its place!
- X
- X
- XGroup: comp.sys.amiga.tech, Item 2353 (Current Item Range #2253 - #2365)
- XSubject: Re: ColdReboot() - The Never Ending Story?
- XFrom: valentin@cbmvax.commodore.com (Valentin Pepelea), Commodore, West Chester,
- X
- XDate: 16 Aug 90 20:43:59 GMT
- X
- XIn article <03021.AA03021@babylon.UUCP> rbabel@babylon.UUCP (Ralph Babel)
- Xwrites:
- X>
- X> The original "ColdReboot()" (new Amiga Hardware Reference Manual, page 219)
- X> didn't work on some (IMHO) broken A2000s (Kickstart ROM doesn't reappear at
- X> location 0 after RESET).
- X>
- X> (e.g. it leaves the A1000's WCS write-enabled and does not work with GVP's
- X> '030 boot-ROMs - dunno about A2620/A2630). Presumably this bug also prevents
- X> the current versions of "MMUKick" and "SetCPU ROMBOOT" from working with
- X> boot-ROMs.
- X
- XI'm not sure what you are talking about here. I wrote MMUkick with the
- Xspecific purpose to allow GVP accelerator owners to boot OS 2.0 kickfiles.
- XI even had to help GVP find out why initially, MMUkick would not work. To
- Xfix that they had to replace their PALs with new ones which properly
- Xpropagate the *RESET signal from the CPU to external devices, and did not
- Xinhibit the cache for CPU fetches from chip memory.
- X
- X> So what about the following solution?
- X
- XSelf modifying code is dangerous to your health. In this case, remember to
- XDisable() all interrupts before entering the critical region.
- X
- XValentin
- X--
- XThe Goddess of democracy? "The tyrants Name: Valentin Pepelea
- Xmay distroy a statue, but they cannot Phone: (215) 431-9327
- Xkill a god." UseNet: cbmvax!valentin@uunet.uu.net
- X
- X - Ancient Chinese Proverb Claimer: I not Commodore spokesman be
- X
- END_OF_FILE
- if test 7059 -ne `wc -c <'resetcode.txt'`; then
- echo shar: \"'resetcode.txt'\" unpacked with wrong size!
- fi
- # end of 'resetcode.txt'
- fi
- if test -f 'resetcode.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'resetcode.uu'\"
- else
- echo shar: Extracting \"'resetcode.uu'\" \(541 characters\)
- sed "s/^X//" >'resetcode.uu' <<'END_OF_FILE'
- Xbegin 666 resetcode.txt.info
- XMXQ```0``````_P"4`"``'``%``,``0#`?7``````````````````````````Y
- XM````!,,`P%+@`,![J(````"````````````````````````````@`!P``@`!;
- XM9<`#````````````!___^`?___@&$)(8!S.3.`<PQS@',Y,X!S"3.`?___@$E
- XM```(!___^`?_?[@'_O-X!_S-.`?Z,M@'_W^X!][S>`<DS3@/FC+8#WO]^`[WY
- XMF_@9)FGX'-&6^#____A____X#___^````````````````````````````>]MZ
- XMY@#,;,8`SSC&`,QLQ@#/;,8````&`___]@````8``(!&``$,A@`#,L8`!<TF_
- XM``"`1@`A#(8`VS+&`&7-+@"$`@X!"&0.!MF6'@,N:1X````^````_@____X#0
- XG___^``````````9C.F-E9``````(````#D9)3$5465!%/51E>'0`E
- X``
- Xend
- Xsize 354
- END_OF_FILE
- if test 541 -ne `wc -c <'resetcode.uu'`; then
- echo shar: \"'resetcode.uu'\" unpacked with wrong size!
- fi
- # end of 'resetcode.uu'
- fi
- echo shar: End of archive 1 \(of 1\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have the archive.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Mail submissions (sources or binaries) to <amiga@uunet.uu.net>.
- Mail comments to the moderator at <amiga-request@uunet.uu.net>.
- Post requests for sources, and general discussion to comp.sys.amiga.
-